MoreKeys module version log
===========================


v0.00  2012/03/12

       Started program.
       


v0.01  2012/03/20

       First working version, hardwired to UK.Latin1 and works
       with mouse input.



v0.02  2012/03/28

       First releasable version. Supports mappings, keyboard
       entry, and changes to configuration while in use.

       Removed most library routines and all but two calls to
       _kernel_swi. These are now custom functions, written
       in assembler. The rationale behind this is to have a
       complete self-contained program that will compile with
       no more than the standard libraries (and because I can)
       to save problems of "is this 32 bit safe?".



v0.03  2012/03/31

       Fixed bug where it was not possible to select or enter
       while Shift was being held.
       
       Fixed bug (I think?) where spurious blank icon was
       being drawn at the end of the list in certain specific
       situations.
       
       Initial caps state and Shift behaviour now follows
       the keyboard, including mimicing ShiftEnable.
       
       
       
v0.04  2012/04/03

       Optimisations. R0-R3 are trashable under APCS, so no
       more saving registers that the compiler will already
       have saved. No longer use load/store multiples to
       load/store a single word. Don't need to be paranoid
       and keep stacking LR for USR R14 won't be overwritten
       by a SWI (SVC R14). And so on.

       Made file loader for mappings files more resiliant.

       Now, for RISC OS 5 using UTF8 alphabet, caters for
       UTF8 extended characters. Now all we need is pretty
       much everything else to catch up. ;-)

       
       
v0.05  2012/04/14

       Updated MoreKeys module to no disallow the use of
       Ctrl-Alt-Tab, so it can work alongside desktop
       extenders and the like.

       Fixed problem where switching to UTF-8 with MoreKeys
       already loaded would cause it to cease working (it
       was trying to load an invalid mapping file).
       
       Increased definitions buffer to 64 entries, as the
       previous 40 would not have been sufficient for
       katakana/hiragana.
       
       Some preparations for "UTF-8-direct" operation.

       Reduced WimpSlot.
       
       Code tidy-ups, clarified some of the comments.



v0.06  2012/04/18

       Stricter checking for cases where the module may be
       RMKilled without the front-end being terminated first.
       Now handled more gracefully.
       
       Front-end now removes the MoreKeys module on exit.
       
       Auto-highlights the last character selected, useful
       for when you need the same character a lot, like ''
       in French...



v0.07  2012/08/09

       Hardened !Run file to better check for required
       resources (CLib, etc).
       
       Added support for "Colourful" mode (yellow-on-blue)
       introduced by the MKSetup program.
       
       Looks for configuration file, first in Choices and
       then within itself.
       
       Ditto keyboard mappings (thus allowing mappings held
       in Choices to overrule those supplied by default.
       
       Added German Latin1 mapping, kindly created by Carlos
       Michael Santilln.       



v0.08  2013/03/12

       PollIdle bugette fixed.
       
       Now correctly loads mappings from Choices *first* if
       present there. Otherwise reverts to app-internal ones.
       
       Now regularly checks the current keyboard/country and
       auto-disables MoreKeys behaviour on unsupported
       configurations.
       This also provides a framework for disabling MoreKeys
       while the Cerilica MMK driver is in use (apparently it
       clashes), however because I do not have a copy of this
       driver module, I cannot detect when it is in use...

